package com.xuecheng.comment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.api.comment.model.dto.CommentReplyDTO;
import com.xuecheng.api.comment.model.vo.CommentReplyVO;
import com.xuecheng.api.comment.model.vo.CommentVO;
import com.xuecheng.comment.entity.Comment;
import com.xuecheng.api.comment.model.dto.CommentDTO;
import com.xuecheng.api.comment.model.qo.CommentModel;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.comment.entity.Comment;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author itcast
 * @since 2021-12-25
 */
public interface CommentService extends IService<Comment> {
    /**
     * 新增评论
     * @param dto  CommentDTO  前端传入的值
     * @param
     * @return   CommentDTO  返回值
     */
    CommentDTO createComment(CommentDTO dto,String username);
    /**
     * 查询评论数据统计信息
     * @param targetId
     * @return
     */
    public CommentVO queryNums(Long targetId);

    /**
     * 评论信息查询
     * @param params
     * @param commentModel
     * @return
     */
    PageVO<CommentDTO> queryCommentList(PageRequestParams params, CommentModel commentModel);


    /**
     * 机构的评论列表
     *
     * @param params
     * @param commentModel
     * @return
     */
    PageVO<CommentDTO> queryCourseCommentList(PageRequestParams params, CommentModel commentModel);


    /**
     * 运营平台的评论列表
     * @param params
     * @return
     */
    PageVO<CommentDTO> queryMCourseCommentList(PageRequestParams params);

    /**
     * 删除评论信息
     * @param commentId
     * @return
     */
    void deleteComment(Long commentId);

    /**
     * 批量删除评论信息
     * @param request commentId拼接字符串
     */
    void deleteComments(String request);


}
